//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(new Number(Number.MIN_VALUE) < -0);
write(new Number(Number.MIN_VALUE) < 0);
write(new Number(Number.MIN_VALUE) < 0.0);
write(new Number(Number.MIN_VALUE) < -0.0);
write(new Number(Number.MIN_VALUE) < +0.0);
write(new Number(Number.MIN_VALUE) < 1);
write(new Number(Number.MIN_VALUE) < 10);
write(new Number(Number.MIN_VALUE) < 10.0);
write(new Number(Number.MIN_VALUE) < 10.1);
write(new Number(Number.MIN_VALUE) < -1);
write(new Number(Number.MIN_VALUE) < -10);
write(new Number(Number.MIN_VALUE) < -10.0);
write(new Number(Number.MIN_VALUE) < -10.1);
write(new Number(Number.MIN_VALUE) < Number.MAX_VALUE);
write(new Number(Number.MIN_VALUE) < Number.MIN_VALUE);
write(new Number(Number.MIN_VALUE) < Number.NaN);
write(new Number(Number.MIN_VALUE) < Number.POSITIVE_INFINITY);
write(new Number(Number.MIN_VALUE) < Number.NEGATIVE_INFINITY);
write(new Number(Number.MIN_VALUE) < new Number(NaN));
write(new Number(Number.MIN_VALUE) < new Number(+0));
write(new Number(Number.MIN_VALUE) < new Number(-0));
write(new Number(Number.MIN_VALUE) < new Number(0));
write(new Number(Number.MIN_VALUE) < new Number(0.0));
write(new Number(Number.MIN_VALUE) < new Number(-0.0));
write(new Number(Number.MIN_VALUE) < new Number(+0.0));
write(new Number(Number.MIN_VALUE) < new Number(1));
write(new Number(Number.MIN_VALUE) < new Number(10));
write(new Number(Number.MIN_VALUE) < new Number(10.0));
write(new Number(Number.MIN_VALUE) < new Number(10.1));
write(new Number(Number.MIN_VALUE) < new Number(-1));
write(new Number(Number.MIN_VALUE) < new Number(-10));
write(new Number(Number.MIN_VALUE) < new Number(-10.0));
write(new Number(Number.MIN_VALUE) < new Number(-10.1));
write(new Number(Number.MIN_VALUE) < new Number(Number.MAX_VALUE));
write(new Number(Number.MIN_VALUE) < new Number(Number.MIN_VALUE));
write(new Number(Number.MIN_VALUE) < new Number(Number.NaN));
write(new Number(Number.MIN_VALUE) < new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.MIN_VALUE) < new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.MIN_VALUE) < '');
write(new Number(Number.MIN_VALUE) < 0xa);
write(new Number(Number.MIN_VALUE) < 04);
write(new Number(Number.MIN_VALUE) < 'hello');
write(new Number(Number.MIN_VALUE) < 'hel' + 'lo');
write(new Number(Number.MIN_VALUE) < String(''));
write(new Number(Number.MIN_VALUE) < String('hello'));
write(new Number(Number.MIN_VALUE) < String('h' + 'ello'));
write(new Number(Number.MIN_VALUE) < new String(''));
write(new Number(Number.MIN_VALUE) < new String('hello'));
write(new Number(Number.MIN_VALUE) < new String('he' + 'llo'));
write(new Number(Number.MIN_VALUE) < new Object());
write(new Number(Number.MIN_VALUE) < new Object());
write(new Number(Number.MIN_VALUE) < [1, 2, 3]);
write(new Number(Number.MIN_VALUE) < [1 ,2 , 3]);
write(new Number(Number.MIN_VALUE) < new Array(3));
write(new Number(Number.MIN_VALUE) < Array(3));
write(new Number(Number.MIN_VALUE) < new Array(1 ,2 ,3));
write(new Number(Number.MIN_VALUE) < Array(1));
write(new Number(Number.MIN_VALUE) < foo);
write(new Number(Number.NaN) < undefined);
write(new Number(Number.NaN) < null);
write(new Number(Number.NaN) < true);
write(new Number(Number.NaN) < false);
write(new Number(Number.NaN) < Boolean(true));
write(new Number(Number.NaN) < Boolean(false));
write(new Number(Number.NaN) < new Boolean(true));
write(new Number(Number.NaN) < new Boolean(false));
write(new Number(Number.NaN) < NaN);
write(new Number(Number.NaN) < +0);
write(new Number(Number.NaN) < -0);
write(new Number(Number.NaN) < 0);
write(new Number(Number.NaN) < 0.0);
write(new Number(Number.NaN) < -0.0);
write(new Number(Number.NaN) < +0.0);
write(new Number(Number.NaN) < 1);
write(new Number(Number.NaN) < 10);
write(new Number(Number.NaN) < 10.0);
write(new Number(Number.NaN) < 10.1);
write(new Number(Number.NaN) < -1);
write(new Number(Number.NaN) < -10);
write(new Number(Number.NaN) < -10.0);
write(new Number(Number.NaN) < -10.1);
write(new Number(Number.NaN) < Number.MAX_VALUE);
write(new Number(Number.NaN) < Number.MIN_VALUE);
write(new Number(Number.NaN) < Number.NaN);
write(new Number(Number.NaN) < Number.POSITIVE_INFINITY);
write(new Number(Number.NaN) < Number.NEGATIVE_INFINITY);
write(new Number(Number.NaN) < new Number(NaN));
write(new Number(Number.NaN) < new Number(+0));
write(new Number(Number.NaN) < new Number(-0));
write(new Number(Number.NaN) < new Number(0));
write(new Number(Number.NaN) < new Number(0.0));
write(new Number(Number.NaN) < new Number(-0.0));
write(new Number(Number.NaN) < new Number(+0.0));
write(new Number(Number.NaN) < new Number(1));
write(new Number(Number.NaN) < new Number(10));
write(new Number(Number.NaN) < new Number(10.0));
write(new Number(Number.NaN) < new Number(10.1));
write(new Number(Number.NaN) < new Number(-1));
write(new Number(Number.NaN) < new Number(-10));
write(new Number(Number.NaN) < new Number(-10.0));
write(new Number(Number.NaN) < new Number(-10.1));
write(new Number(Number.NaN) < new Number(Number.MAX_VALUE));
write(new Number(Number.NaN) < new Number(Number.MIN_VALUE));
write(new Number(Number.NaN) < new Number(Number.NaN));
write(new Number(Number.NaN) < new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.NaN) < new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.NaN) < '');
write(new Number(Number.NaN) < 0xa);
write(new Number(Number.NaN) < 04);
write(new Number(Number.NaN) < 'hello');
write(new Number(Number.NaN) < 'hel' + 'lo');
write(new Number(Number.NaN) < String(''));
write(new Number(Number.NaN) < String('hello'));
write(new Number(Number.NaN) < String('h' + 'ello'));
write(new Number(Number.NaN) < new String(''));
write(new Number(Number.NaN) < new String('hello'));
write(new Number(Number.NaN) < new String('he' + 'llo'));
write(new Number(Number.NaN) < new Object());
write(new Number(Number.NaN) < new Object());
write(new Number(Number.NaN) < [1, 2, 3]);
write(new Number(Number.NaN) < [1 ,2 , 3]);
write(new Number(Number.NaN) < new Array(3));
write(new Number(Number.NaN) < Array(3));
write(new Number(Number.NaN) < new Array(1 ,2 ,3));
write(new Number(Number.NaN) < Array(1));
write(new Number(Number.NaN) < foo);
write(new Number(Number.POSITIVE_INFINITY) < undefined);
write(new Number(Number.POSITIVE_INFINITY) < null);
write(new Number(Number.POSITIVE_INFINITY) < true);
write(new Number(Number.POSITIVE_INFINITY) < false);
write(new Number(Number.POSITIVE_INFINITY) < Boolean(true));
write(new Number(Number.POSITIVE_INFINITY) < Boolean(false));
write(new Number(Number.POSITIVE_INFINITY) < new Boolean(true));
write(new Number(Number.POSITIVE_INFINITY) < new Boolean(false));
write(new Number(Number.POSITIVE_INFINITY) < NaN);
write(new Number(Number.POSITIVE_INFINITY) < +0);
write(new Number(Number.POSITIVE_INFINITY) < -0);
write(new Number(Number.POSITIVE_INFINITY) < 0);
write(new Number(Number.POSITIVE_INFINITY) < 0.0);
write(new Number(Number.POSITIVE_INFINITY) < -0.0);
write(new Number(Number.POSITIVE_INFINITY) < +0.0);
write(new Number(Number.POSITIVE_INFINITY) < 1);
write(new Number(Number.POSITIVE_INFINITY) < 10);
write(new Number(Number.POSITIVE_INFINITY) < 10.0);
write(new Number(Number.POSITIVE_INFINITY) < 10.1);
write(new Number(Number.POSITIVE_INFINITY) < -1);
write(new Number(Number.POSITIVE_INFINITY) < -10);
write(new Number(Number.POSITIVE_INFINITY) < -10.0);
write(new Number(Number.POSITIVE_INFINITY) < -10.1);
write(new Number(Number.POSITIVE_INFINITY) < Number.MAX_VALUE);
write(new Number(Number.POSITIVE_INFINITY) < Number.MIN_VALUE);
write(new Number(Number.POSITIVE_INFINITY) < Number.NaN);
write(new Number(Number.POSITIVE_INFINITY) < Number.POSITIVE_INFINITY);
write(new Number(Number.POSITIVE_INFINITY) < Number.NEGATIVE_INFINITY);
write(new Number(Number.POSITIVE_INFINITY) < new Number(NaN));
write(new Number(Number.POSITIVE_INFINITY) < new Number(+0));
write(new Number(Number.POSITIVE_INFINITY) < new Number(-0));
write(new Number(Number.POSITIVE_INFINITY) < new Number(0));
write(new Number(Number.POSITIVE_INFINITY) < new Number(0.0));
write(new Number(Number.POSITIVE_INFINITY) < new Number(-0.0));
write(new Number(Number.POSITIVE_INFINITY) < new Number(+0.0));
write(new Number(Number.POSITIVE_INFINITY) < new Number(1));
write(new Number(Number.POSITIVE_INFINITY) < new Number(10));
write(new Number(Number.POSITIVE_INFINITY) < new Number(10.0));
write(new Number(Number.POSITIVE_INFINITY) < new Number(10.1));
write(new Number(Number.POSITIVE_INFINITY) < new Number(-1));
write(new Number(Number.POSITIVE_INFINITY) < new Number(-10));
write(new Number(Number.POSITIVE_INFINITY) < new Number(-10.0));
write(new Number(Number.POSITIVE_INFINITY) < new Number(-10.1));
write(new Number(Number.POSITIVE_INFINITY) < new Number(Number.MAX_VALUE));
write(new Number(Number.POSITIVE_INFINITY) < new Number(Number.MIN_VALUE));
write(new Number(Number.POSITIVE_INFINITY) < new Number(Number.NaN));
write(new Number(Number.POSITIVE_INFINITY) < new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.POSITIVE_INFINITY) < new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.POSITIVE_INFINITY) < '');
write(new Number(Number.POSITIVE_INFINITY) < 0xa);
write(new Number(Number.POSITIVE_INFINITY) < 04);
write(new Number(Number.POSITIVE_INFINITY) < 'hello');
write(new Number(Number.POSITIVE_INFINITY) < 'hel' + 'lo');
write(new Number(Number.POSITIVE_INFINITY) < String(''));
write(new Number(Number.POSITIVE_INFINITY) < String('hello'));
write(new Number(Number.POSITIVE_INFINITY) < String('h' + 'ello'));
write(new Number(Number.POSITIVE_INFINITY) < new String(''));
write(new Number(Number.POSITIVE_INFINITY) < new String('hello'));
write(new Number(Number.POSITIVE_INFINITY) < new String('he' + 'llo'));
write(new Number(Number.POSITIVE_INFINITY) < new Object());
write(new Number(Number.POSITIVE_INFINITY) < new Object());
write(new Number(Number.POSITIVE_INFINITY) < [1, 2, 3]);
write(new Number(Number.POSITIVE_INFINITY) < [1 ,2 , 3]);
write(new Number(Number.POSITIVE_INFINITY) < new Array(3));
write(new Number(Number.POSITIVE_INFINITY) < Array(3));
write(new Number(Number.POSITIVE_INFINITY) < new Array(1 ,2 ,3));
write(new Number(Number.POSITIVE_INFINITY) < Array(1));
write(new Number(Number.POSITIVE_INFINITY) < foo);
write(new Number(Number.NEGATIVE_INFINITY) < undefined);
write(new Number(Number.NEGATIVE_INFINITY) < null);
write(new Number(Number.NEGATIVE_INFINITY) < true);
write(new Number(Number.NEGATIVE_INFINITY) < false);
write(new Number(Number.NEGATIVE_INFINITY) < Boolean(true));
write(new Number(Number.NEGATIVE_INFINITY) < Boolean(false));
write(new Number(Number.NEGATIVE_INFINITY) < new Boolean(true));
write(new Number(Number.NEGATIVE_INFINITY) < new Boolean(false));
write(new Number(Number.NEGATIVE_INFINITY) < NaN);
write(new Number(Number.NEGATIVE_INFINITY) < +0);
write(new Number(Number.NEGATIVE_INFINITY) < -0);
write(new Number(Number.NEGATIVE_INFINITY) < 0);
write(new Number(Number.NEGATIVE_INFINITY) < 0.0);
write(new Number(Number.NEGATIVE_INFINITY) < -0.0);
write(new Number(Number.NEGATIVE_INFINITY) < +0.0);
write(new Number(Number.NEGATIVE_INFINITY) < 1);
write(new Number(Number.NEGATIVE_INFINITY) < 10);
write(new Number(Number.NEGATIVE_INFINITY) < 10.0);
write(new Number(Number.NEGATIVE_INFINITY) < 10.1);
write(new Number(Number.NEGATIVE_INFINITY) < -1);
write(new Number(Number.NEGATIVE_INFINITY) < -10);
write(new Number(Number.NEGATIVE_INFINITY) < -10.0);
write(new Number(Number.NEGATIVE_INFINITY) < -10.1);
write(new Number(Number.NEGATIVE_INFINITY) < Number.MAX_VALUE);
write(new Number(Number.NEGATIVE_INFINITY) < Number.MIN_VALUE);
write(new Number(Number.NEGATIVE_INFINITY) < Number.NaN);
write(new Number(Number.NEGATIVE_INFINITY) < Number.POSITIVE_INFINITY);
write(new Number(Number.NEGATIVE_INFINITY) < Number.NEGATIVE_INFINITY);
write(new Number(Number.NEGATIVE_INFINITY) < new Number(NaN));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(+0));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(-0));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(0));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(0.0));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(-0.0));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(+0.0));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(1));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(10));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(10.0));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(10.1));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(-1));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(-10));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(-10.0));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(-10.1));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(Number.MAX_VALUE));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(Number.MIN_VALUE));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(Number.NaN));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.NEGATIVE_INFINITY) < new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.NEGATIVE_INFINITY) < '');
write(new Number(Number.NEGATIVE_INFINITY) < 0xa);
write(new Number(Number.NEGATIVE_INFINITY) < 04);
write(new Number(Number.NEGATIVE_INFINITY) < 'hello');
write(new Number(Number.NEGATIVE_INFINITY) < 'hel' + 'lo');
write(new Number(Number.NEGATIVE_INFINITY) < String(''));
write(new Number(Number.NEGATIVE_INFINITY) < String('hello'));
write(new Number(Number.NEGATIVE_INFINITY) < String('h' + 'ello'));
write(new Number(Number.NEGATIVE_INFINITY) < new String(''));
write(new Number(Number.NEGATIVE_INFINITY) < new String('hello'));
write(new Number(Number.NEGATIVE_INFINITY) < new String('he' + 'llo'));
write(new Number(Number.NEGATIVE_INFINITY) < new Object());
write(new Number(Number.NEGATIVE_INFINITY) < new Object());
write(new Number(Number.NEGATIVE_INFINITY) < [1, 2, 3]);
write(new Number(Number.NEGATIVE_INFINITY) < [1 ,2 , 3]);
write(new Number(Number.NEGATIVE_INFINITY) < new Array(3));
write(new Number(Number.NEGATIVE_INFINITY) < Array(3));
write(new Number(Number.NEGATIVE_INFINITY) < new Array(1 ,2 ,3));
write(new Number(Number.NEGATIVE_INFINITY) < Array(1));
write(new Number(Number.NEGATIVE_INFINITY) < foo);
write('' < undefined);
write('' < null);
write('' < true);
write('' < false);
write('' < Boolean(true));
write('' < Boolean(false));
write('' < new Boolean(true));
write('' < new Boolean(false));
write('' < NaN);
write('' < +0);
write('' < -0);
write('' < 0);
write('' < 0.0);
write('' < -0.0);
write('' < +0.0);
write('' < 1);
write('' < 10);
write('' < 10.0);
write('' < 10.1);
write('' < -1);
write('' < -10);
write('' < -10.0);
write('' < -10.1);
write('' < Number.MAX_VALUE);
write('' < Number.MIN_VALUE);
write('' < Number.NaN);
write('' < Number.POSITIVE_INFINITY);
write('' < Number.NEGATIVE_INFINITY);
write('' < new Number(NaN));
write('' < new Number(+0));
write('' < new Number(-0));
write('' < new Number(0));
write('' < new Number(0.0));
write('' < new Number(-0.0));
write('' < new Number(+0.0));
write('' < new Number(1));
write('' < new Number(10));
write('' < new Number(10.0));
write('' < new Number(10.1));
write('' < new Number(-1));
write('' < new Number(-10));
write('' < new Number(-10.0));
write('' < new Number(-10.1));
write('' < new Number(Number.MAX_VALUE));
write('' < new Number(Number.MIN_VALUE));
write('' < new Number(Number.NaN));
write('' < new Number(Number.POSITIVE_INFINITY));
write('' < new Number(Number.NEGATIVE_INFINITY));
write('' < '');
write('' < 0xa);
write('' < 04);
write('' < 'hello');
write('' < 'hel' + 'lo');
write('' < String(''));
write('' < String('hello'));
write('' < String('h' + 'ello'));
write('' < new String(''));
write('' < new String('hello'));
write('' < new String('he' + 'llo'));
write('' < new Object());
write('' < new Object());
write('' < [1, 2, 3]);
write('' < [1 ,2 , 3]);
write('' < new Array(3));
write('' < Array(3));
write('' < new Array(1 ,2 ,3));
write('' < Array(1));
write('' < foo);
write(0xa < undefined);
write(0xa < null);
write(0xa < true);
write(0xa < false);
write(0xa < Boolean(true));
write(0xa < Boolean(false));
write(0xa < new Boolean(true));
write(0xa < new Boolean(false));
write(0xa < NaN);
write(0xa < +0);
write(0xa < -0);
write(0xa < 0);
write(0xa < 0.0);
write(0xa < -0.0);
write(0xa < +0.0);
write(0xa < 1);
write(0xa < 10);
write(0xa < 10.0);
write(0xa < 10.1);
write(0xa < -1);
write(0xa < -10);
write(0xa < -10.0);
write(0xa < -10.1);
write(0xa < Number.MAX_VALUE);
write(0xa < Number.MIN_VALUE);
write(0xa < Number.NaN);
write(0xa < Number.POSITIVE_INFINITY);
write(0xa < Number.NEGATIVE_INFINITY);
write(0xa < new Number(NaN));
write(0xa < new Number(+0));
write(0xa < new Number(-0));
write(0xa < new Number(0));
write(0xa < new Number(0.0));
write(0xa < new Number(-0.0));
write(0xa < new Number(+0.0));
write(0xa < new Number(1));
write(0xa < new Number(10));
write(0xa < new Number(10.0));
write(0xa < new Number(10.1));
write(0xa < new Number(-1));
write(0xa < new Number(-10));
write(0xa < new Number(-10.0));
write(0xa < new Number(-10.1));
write(0xa < new Number(Number.MAX_VALUE));
write(0xa < new Number(Number.MIN_VALUE));
write(0xa < new Number(Number.NaN));
write(0xa < new Number(Number.POSITIVE_INFINITY));
write(0xa < new Number(Number.NEGATIVE_INFINITY));
write(0xa < '');
write(0xa < 0xa);
write(0xa < 04);
write(0xa < 'hello');
write(0xa < 'hel' + 'lo');
write(0xa < String(''));
write(0xa < String('hello'));
write(0xa < String('h' + 'ello'));
write(0xa < new String(''));
write(0xa < new String('hello'));
write(0xa < new String('he' + 'llo'));
write(0xa < new Object());
write(0xa < new Object());
write(0xa < [1, 2, 3]);
write(0xa < [1 ,2 , 3]);
write(0xa < new Array(3));
write(0xa < Array(3));
write(0xa < new Array(1 ,2 ,3));
write(0xa < Array(1));
write(0xa < foo);
write(04 < undefined);
write(04 < null);
write(04 < true);
write(04 < false);
write(04 < Boolean(true));
write(04 < Boolean(false));
write(04 < new Boolean(true));
write(04 < new Boolean(false));
write(04 < NaN);
write(04 < +0);
write(04 < -0);
write(04 < 0);
write(04 < 0.0);
write(04 < -0.0);
write(04 < +0.0);
write(04 < 1);
write(04 < 10);
write(04 < 10.0);
write(04 < 10.1);
write(04 < -1);
write(04 < -10);
write(04 < -10.0);
write(04 < -10.1);
write(04 < Number.MAX_VALUE);
write(04 < Number.MIN_VALUE);
write(04 < Number.NaN);
write(04 < Number.POSITIVE_INFINITY);
write(04 < Number.NEGATIVE_INFINITY);
write(04 < new Number(NaN));
write(04 < new Number(+0));
write(04 < new Number(-0));
write(04 < new Number(0));
write(04 < new Number(0.0));
write(04 < new Number(-0.0));
write(04 < new Number(+0.0));
write(04 < new Number(1));
write(04 < new Number(10));
write(04 < new Number(10.0));
write(04 < new Number(10.1));
write(04 < new Number(-1));
write(04 < new Number(-10));
write(04 < new Number(-10.0));
write(04 < new Number(-10.1));
write(04 < new Number(Number.MAX_VALUE));
write(04 < new Number(Number.MIN_VALUE));
write(04 < new Number(Number.NaN));
write(04 < new Number(Number.POSITIVE_INFINITY));
write(04 < new Number(Number.NEGATIVE_INFINITY));
write(04 < '');
write(04 < 0xa);
write(04 < 04);
write(04 < 'hello');
write(04 < 'hel' + 'lo');
write(04 < String(''));
write(04 < String('hello'));
write(04 < String('h' + 'ello'));
write(04 < new String(''));
write(04 < new String('hello'));
write(04 < new String('he' + 'llo'));
write(04 < new Object());
write(04 < new Object());
write(04 < [1, 2, 3]);
write(04 < [1 ,2 , 3]);
write(04 < new Array(3));
write(04 < Array(3));
write(04 < new Array(1 ,2 ,3));
write(04 < Array(1));
write(04 < foo);
write('hello' < undefined);
write('hello' < null);
write('hello' < true);
write('hello' < false);
write('hello' < Boolean(true));
write('hello' < Boolean(false));
write('hello' < new Boolean(true));
write('hello' < new Boolean(false));
write('hello' < NaN);
write('hello' < +0);
write('hello' < -0);
write('hello' < 0);
write('hello' < 0.0);
write('hello' < -0.0);
write('hello' < +0.0);
write('hello' < 1);
write('hello' < 10);
write('hello' < 10.0);
write('hello' < 10.1);
write('hello' < -1);
write('hello' < -10);
write('hello' < -10.0);
write('hello' < -10.1);
write('hello' < Number.MAX_VALUE);
write('hello' < Number.MIN_VALUE);
write('hello' < Number.NaN);
write('hello' < Number.POSITIVE_INFINITY);
write('hello' < Number.NEGATIVE_INFINITY);
write('hello' < new Number(NaN));
write('hello' < new Number(+0));
write('hello' < new Number(-0));
write('hello' < new Number(0));
write('hello' < new Number(0.0));
write('hello' < new Number(-0.0));
write('hello' < new Number(+0.0));
write('hello' < new Number(1));
write('hello' < new Number(10));
write('hello' < new Number(10.0));
write('hello' < new Number(10.1));
write('hello' < new Number(-1));
write('hello' < new Number(-10));
write('hello' < new Number(-10.0));
write('hello' < new Number(-10.1));
write('hello' < new Number(Number.MAX_VALUE));
write('hello' < new Number(Number.MIN_VALUE));
write('hello' < new Number(Number.NaN));
write('hello' < new Number(Number.POSITIVE_INFINITY));
write('hello' < new Number(Number.NEGATIVE_INFINITY));
write('hello' < '');
write('hello' < 0xa);
write('hello' < 04);
write('hello' < 'hello');
write('hello' < 'hel' + 'lo');
write('hello' < String(''));
write('hello' < String('hello'));
write('hello' < String('h' + 'ello'));
write('hello' < new String(''));
write('hello' < new String('hello'));
write('hello' < new String('he' + 'llo'));
write('hello' < new Object());
write('hello' < new Object());
write('hello' < [1, 2, 3]);
write('hello' < [1 ,2 , 3]);
write('hello' < new Array(3));
write('hello' < Array(3));
write('hello' < new Array(1 ,2 ,3));
write('hello' < Array(1));
write('hello' < foo);
write('hel' + 'lo' < undefined);
write('hel' + 'lo' < null);
write('hel' + 'lo' < true);
write('hel' + 'lo' < false);
write('hel' + 'lo' < Boolean(true));
write('hel' + 'lo' < Boolean(false));
write('hel' + 'lo' < new Boolean(true));
write('hel' + 'lo' < new Boolean(false));
write('hel' + 'lo' < NaN);
write('hel' + 'lo' < +0);
write('hel' + 'lo' < -0);
write('hel' + 'lo' < 0);
write('hel' + 'lo' < 0.0);
write('hel' + 'lo' < -0.0);
write('hel' + 'lo' < +0.0);
write('hel' + 'lo' < 1);
write('hel' + 'lo' < 10);
write('hel' + 'lo' < 10.0);
write('hel' + 'lo' < 10.1);
write('hel' + 'lo' < -1);
write('hel' + 'lo' < -10);
write('hel' + 'lo' < -10.0);
write('hel' + 'lo' < -10.1);
write('hel' + 'lo' < Number.MAX_VALUE);
write('hel' + 'lo' < Number.MIN_VALUE);
write('hel' + 'lo' < Number.NaN);
write('hel' + 'lo' < Number.POSITIVE_INFINITY);
write('hel' + 'lo' < Number.NEGATIVE_INFINITY);
write('hel' + 'lo' < new Number(NaN));
write('hel' + 'lo' < new Number(+0));
write('hel' + 'lo' < new Number(-0));
write('hel' + 'lo' < new Number(0));
write('hel' + 'lo' < new Number(0.0));
write('hel' + 'lo' < new Number(-0.0));
write('hel' + 'lo' < new Number(+0.0));
write('hel' + 'lo' < new Number(1));
write('hel' + 'lo' < new Number(10));
write('hel' + 'lo' < new Number(10.0));
write('hel' + 'lo' < new Number(10.1));
write('hel' + 'lo' < new Number(-1));
write('hel' + 'lo' < new Number(-10));
write('hel' + 'lo' < new Number(-10.0));
write('hel' + 'lo' < new Number(-10.1));
write('hel' + 'lo' < new Number(Number.MAX_VALUE));
write('hel' + 'lo' < new Number(Number.MIN_VALUE));
write('hel' + 'lo' < new Number(Number.NaN));
write('hel' + 'lo' < new Number(Number.POSITIVE_INFINITY));
write('hel' + 'lo' < new Number(Number.NEGATIVE_INFINITY));
write('hel' + 'lo' < '');
write('hel' + 'lo' < 0xa);
write('hel' + 'lo' < 04);
write('hel' + 'lo' < 'hello');
write('hel' + 'lo' < 'hel' + 'lo');
write('hel' + 'lo' < String(''));
write('hel' + 'lo' < String('hello'));
write('hel' + 'lo' < String('h' + 'ello'));
write('hel' + 'lo' < new String(''));
write('hel' + 'lo' < new String('hello'));
write('hel' + 'lo' < new String('he' + 'llo'));
write('hel' + 'lo' < new Object());
write('hel' + 'lo' < new Object());
write('hel' + 'lo' < [1, 2, 3]);
write('hel' + 'lo' < [1 ,2 , 3]);
write('hel' + 'lo' < new Array(3));
write('hel' + 'lo' < Array(3));
write('hel' + 'lo' < new Array(1 ,2 ,3));
write('hel' + 'lo' < Array(1));
write('hel' + 'lo' < foo);
write(String('') < undefined);
write(String('') < null);
write(String('') < true);
write(String('') < false);
write(String('') < Boolean(true));
write(String('') < Boolean(false));
write(String('') < new Boolean(true));
write(String('') < new Boolean(false));
write(String('') < NaN);
write(String('') < +0);
write(String('') < -0);
write(String('') < 0);
write(String('') < 0.0);
write(String('') < -0.0);
write(String('') < +0.0);
write(String('') < 1);
write(String('') < 10);
write(String('') < 10.0);
write(String('') < 10.1);
write(String('') < -1);
write(String('') < -10);
write(String('') < -10.0);
write(String('') < -10.1);
write(String('') < Number.MAX_VALUE);
write(String('') < Number.MIN_VALUE);
write(String('') < Number.NaN);
write(String('') < Number.POSITIVE_INFINITY);
write(String('') < Number.NEGATIVE_INFINITY);
write(String('') < new Number(NaN));
write(String('') < new Number(+0));
write(String('') < new Number(-0));
write(String('') < new Number(0));
write(String('') < new Number(0.0));
write(String('') < new Number(-0.0));
write(String('') < new Number(+0.0));
write(String('') < new Number(1));
write(String('') < new Number(10));
write(String('') < new Number(10.0));
write(String('') < new Number(10.1));
write(String('') < new Number(-1));
write(String('') < new Number(-10));
write(String('') < new Number(-10.0));
write(String('') < new Number(-10.1));
write(String('') < new Number(Number.MAX_VALUE));
write(String('') < new Number(Number.MIN_VALUE));
write(String('') < new Number(Number.NaN));
write(String('') < new Number(Number.POSITIVE_INFINITY));
write(String('') < new Number(Number.NEGATIVE_INFINITY));
write(String('') < '');
write(String('') < 0xa);
write(String('') < 04);
write(String('') < 'hello');
write(String('') < 'hel' + 'lo');
write(String('') < String(''));
write(String('') < String('hello'));
write(String('') < String('h' + 'ello'));
write(String('') < new String(''));
write(String('') < new String('hello'));
write(String('') < new String('he' + 'llo'));
write(String('') < new Object());
write(String('') < new Object());
write(String('') < [1, 2, 3]);
write(String('') < [1 ,2 , 3]);
write(String('') < new Array(3));
write(String('') < Array(3));
write(String('') < new Array(1 ,2 ,3));
write(String('') < Array(1));
write(String('') < foo);
write(String('hello') < undefined);
write(String('hello') < null);
write(String('hello') < true);
write(String('hello') < false);
write(String('hello') < Boolean(true));
write(String('hello') < Boolean(false));
write(String('hello') < new Boolean(true));
write(String('hello') < new Boolean(false));
write(String('hello') < NaN);
write(String('hello') < +0);
write(String('hello') < -0);
write(String('hello') < 0);
write(String('hello') < 0.0);
write(String('hello') < -0.0);
write(String('hello') < +0.0);
write(String('hello') < 1);
write(String('hello') < 10);
write(String('hello') < 10.0);
write(String('hello') < 10.1);
write(String('hello') < -1);
write(String('hello') < -10);
write(String('hello') < -10.0);
write(String('hello') < -10.1);
write(String('hello') < Number.MAX_VALUE);
write(String('hello') < Number.MIN_VALUE);
write(String('hello') < Number.NaN);
write(String('hello') < Number.POSITIVE_INFINITY);
write(String('hello') < Number.NEGATIVE_INFINITY);
write(String('hello') < new Number(NaN));
write(String('hello') < new Number(+0));
write(String('hello') < new Number(-0));
write(String('hello') < new Number(0));
write(String('hello') < new Number(0.0));
write(String('hello') < new Number(-0.0));
write(String('hello') < new Number(+0.0));
write(String('hello') < new Number(1));
write(String('hello') < new Number(10));
write(String('hello') < new Number(10.0));
write(String('hello') < new Number(10.1));
write(String('hello') < new Number(-1));
write(String('hello') < new Number(-10));
write(String('hello') < new Number(-10.0));
write(String('hello') < new Number(-10.1));
write(String('hello') < new Number(Number.MAX_VALUE));
write(String('hello') < new Number(Number.MIN_VALUE));
write(String('hello') < new Number(Number.NaN));
write(String('hello') < new Number(Number.POSITIVE_INFINITY));
write(String('hello') < new Number(Number.NEGATIVE_INFINITY));
write(String('hello') < '');
write(String('hello') < 0xa);
write(String('hello') < 04);
write(String('hello') < 'hello');
write(String('hello') < 'hel' + 'lo');
write(String('hello') < String(''));
write(String('hello') < String('hello'));
write(String('hello') < String('h' + 'ello'));
write(String('hello') < new String(''));
write(String('hello') < new String('hello'));
write(String('hello') < new String('he' + 'llo'));
write(String('hello') < new Object());
write(String('hello') < new Object());
write(String('hello') < [1, 2, 3]);
write(String('hello') < [1 ,2 , 3]);
write(String('hello') < new Array(3));
write(String('hello') < Array(3));
write(String('hello') < new Array(1 ,2 ,3));
write(String('hello') < Array(1));
write(String('hello') < foo);
write(String('h' + 'ello') < undefined);
write(String('h' + 'ello') < null);
write(String('h' + 'ello') < true);
write(String('h' + 'ello') < false);
write(String('h' + 'ello') < Boolean(true));
write(String('h' + 'ello') < Boolean(false));
write(String('h' + 'ello') < new Boolean(true));
write(String('h' + 'ello') < new Boolean(false));
write(String('h' + 'ello') < NaN);
write(String('h' + 'ello') < +0);
write(String('h' + 'ello') < -0);
write(String('h' + 'ello') < 0);
write(String('h' + 'ello') < 0.0);
write(String('h' + 'ello') < -0.0);
write(String('h' + 'ello') < +0.0);
write(String('h' + 'ello') < 1);
write(String('h' + 'ello') < 10);
write(String('h' + 'ello') < 10.0);
write(String('h' + 'ello') < 10.1);
write(String('h' + 'ello') < -1);
write(String('h' + 'ello') < -10);
write(String('h' + 'ello') < -10.0);
write(String('h' + 'ello') < -10.1);
write(String('h' + 'ello') < Number.MAX_VALUE);
write(String('h' + 'ello') < Number.MIN_VALUE);
write(String('h' + 'ello') < Number.NaN);
write(String('h' + 'ello') < Number.POSITIVE_INFINITY);
write(String('h' + 'ello') < Number.NEGATIVE_INFINITY);
write(String('h' + 'ello') < new Number(NaN));
write(String('h' + 'ello') < new Number(+0));
write(String('h' + 'ello') < new Number(-0));
write(String('h' + 'ello') < new Number(0));
write(String('h' + 'ello') < new Number(0.0));
write(String('h' + 'ello') < new Number(-0.0));
write(String('h' + 'ello') < new Number(+0.0));
write(String('h' + 'ello') < new Number(1));
write(String('h' + 'ello') < new Number(10));
write(String('h' + 'ello') < new Number(10.0));
write(String('h' + 'ello') < new Number(10.1));
write(String('h' + 'ello') < new Number(-1));
write(String('h' + 'ello') < new Number(-10));
write(String('h' + 'ello') < new Number(-10.0));
write(String('h' + 'ello') < new Number(-10.1));
write(String('h' + 'ello') < new Number(Number.MAX_VALUE));
write(String('h' + 'ello') < new Number(Number.MIN_VALUE));
write(String('h' + 'ello') < new Number(Number.NaN));
write(String('h' + 'ello') < new Number(Number.POSITIVE_INFINITY));
write(String('h' + 'ello') < new Number(Number.NEGATIVE_INFINITY));
write(String('h' + 'ello') < '');
write(String('h' + 'ello') < 0xa);
write(String('h' + 'ello') < 04);
write(String('h' + 'ello') < 'hello');
write(String('h' + 'ello') < 'hel' + 'lo');
write(String('h' + 'ello') < String(''));
write(String('h' + 'ello') < String('hello'));
write(String('h' + 'ello') < String('h' + 'ello'));
write(String('h' + 'ello') < new String(''));
write(String('h' + 'ello') < new String('hello'));
write(String('h' + 'ello') < new String('he' + 'llo'));
write(String('h' + 'ello') < new Object());
write(String('h' + 'ello') < new Object());
write(String('h' + 'ello') < [1, 2, 3]);
write(String('h' + 'ello') < [1 ,2 , 3]);
write(String('h' + 'ello') < new Array(3));
write(String('h' + 'ello') < Array(3));
write(String('h' + 'ello') < new Array(1 ,2 ,3));
write(String('h' + 'ello') < Array(1));
write(String('h' + 'ello') < foo);
write(new String('') < undefined);
write(new String('') < null);
write(new String('') < true);
write(new String('') < false);
write(new String('') < Boolean(true));
write(new String('') < Boolean(false));
write(new String('') < new Boolean(true));
write(new String('') < new Boolean(false));
write(new String('') < NaN);
write(new String('') < +0);
write(new String('') < -0);
write(new String('') < 0);
write(new String('') < 0.0);
write(new String('') < -0.0);
write(new String('') < +0.0);
write(new String('') < 1);
write(new String('') < 10);
write(new String('') < 10.0);
write(new String('') < 10.1);
write(new String('') < -1);
write(new String('') < -10);
write(new String('') < -10.0);
write(new String('') < -10.1);
write(new String('') < Number.MAX_VALUE);
write(new String('') < Number.MIN_VALUE);
write(new String('') < Number.NaN);
write(new String('') < Number.POSITIVE_INFINITY);
write(new String('') < Number.NEGATIVE_INFINITY);
write(new String('') < new Number(NaN));
write(new String('') < new Number(+0));
write(new String('') < new Number(-0));
write(new String('') < new Number(0));
write(new String('') < new Number(0.0));
write(new String('') < new Number(-0.0));
write(new String('') < new Number(+0.0));
write(new String('') < new Number(1));
write(new String('') < new Number(10));
write(new String('') < new Number(10.0));
write(new String('') < new Number(10.1));
write(new String('') < new Number(-1));
write(new String('') < new Number(-10));
write(new String('') < new Number(-10.0));
write(new String('') < new Number(-10.1));
write(new String('') < new Number(Number.MAX_VALUE));
write(new String('') < new Number(Number.MIN_VALUE));
write(new String('') < new Number(Number.NaN));
write(new String('') < new Number(Number.POSITIVE_INFINITY));
write(new String('') < new Number(Number.NEGATIVE_INFINITY));
write(new String('') < '');
write(new String('') < 0xa);
write(new String('') < 04);
write(new String('') < 'hello');
write(new String('') < 'hel' + 'lo');
write(new String('') < String(''));
write(new String('') < String('hello'));
write(new String('') < String('h' + 'ello'));
write(new String('') < new String(''));
write(new String('') < new String('hello'));
write(new String('') < new String('he' + 'llo'));
write(new String('') < new Object());
write(new String('') < new Object());
write(new String('') < [1, 2, 3]);
write(new String('') < [1 ,2 , 3]);
write(new String('') < new Array(3));
write(new String('') < Array(3));
write(new String('') < new Array(1 ,2 ,3));
write(new String('') < Array(1));
write(new String('') < foo);
write(new String('hello') < undefined);
write(new String('hello') < null);
write(new String('hello') < true);
write(new String('hello') < false);
write(new String('hello') < Boolean(true));
write(new String('hello') < Boolean(false));
write(new String('hello') < new Boolean(true));
write(new String('hello') < new Boolean(false));
write(new String('hello') < NaN);
write(new String('hello') < +0);
write(new String('hello') < -0);
write(new String('hello') < 0);
write(new String('hello') < 0.0);
write(new String('hello') < -0.0);
write(new String('hello') < +0.0);
write(new String('hello') < 1);
write(new String('hello') < 10);
write(new String('hello') < 10.0);
write(new String('hello') < 10.1);
write(new String('hello') < -1);
write(new String('hello') < -10);
write(new String('hello') < -10.0);
write(new String('hello') < -10.1);
write(new String('hello') < Number.MAX_VALUE);
write(new String('hello') < Number.MIN_VALUE);
write(new String('hello') < Number.NaN);
write(new String('hello') < Number.POSITIVE_INFINITY);
write(new String('hello') < Number.NEGATIVE_INFINITY);
write(new String('hello') < new Number(NaN));
write(new String('hello') < new Number(+0));
write(new String('hello') < new Number(-0));
write(new String('hello') < new Number(0));
write(new String('hello') < new Number(0.0));
write(new String('hello') < new Number(-0.0));
write(new String('hello') < new Number(+0.0));
write(new String('hello') < new Number(1));
write(new String('hello') < new Number(10));
write(new String('hello') < new Number(10.0));
write(new String('hello') < new Number(10.1));
write(new String('hello') < new Number(-1));
write(new String('hello') < new Number(-10));
write(new String('hello') < new Number(-10.0));
write(new String('hello') < new Number(-10.1));
write(new String('hello') < new Number(Number.MAX_VALUE));
write(new String('hello') < new Number(Number.MIN_VALUE));
write(new String('hello') < new Number(Number.NaN));
write(new String('hello') < new Number(Number.POSITIVE_INFINITY));
write(new String('hello') < new Number(Number.NEGATIVE_INFINITY));
write(new String('hello') < '');
write(new String('hello') < 0xa);
write(new String('hello') < 04);
write(new String('hello') < 'hello');
write(new String('hello') < 'hel' + 'lo');
write(new String('hello') < String(''));
write(new String('hello') < String('hello'));
write(new String('hello') < String('h' + 'ello'));
write(new String('hello') < new String(''));
write(new String('hello') < new String('hello'));
write(new String('hello') < new String('he' + 'llo'));
write(new String('hello') < new Object());
write(new String('hello') < new Object());
write(new String('hello') < [1, 2, 3]);
write(new String('hello') < [1 ,2 , 3]);
write(new String('hello') < new Array(3));
write(new String('hello') < Array(3));
write(new String('hello') < new Array(1 ,2 ,3));
write(new String('hello') < Array(1));
write(new String('hello') < foo);
write(new String('he' + 'llo') < undefined);
write(new String('he' + 'llo') < null);
write(new String('he' + 'llo') < true);
write(new String('he' + 'llo') < false);
write(new String('he' + 'llo') < Boolean(true));
write(new String('he' + 'llo') < Boolean(false));
write(new String('he' + 'llo') < new Boolean(true));
write(new String('he' + 'llo') < new Boolean(false));
write(new String('he' + 'llo') < NaN);
write(new String('he' + 'llo') < +0);
write(new String('he' + 'llo') < -0);
write(new String('he' + 'llo') < 0);
write(new String('he' + 'llo') < 0.0);
write(new String('he' + 'llo') < -0.0);
write(new String('he' + 'llo') < +0.0);
write(new String('he' + 'llo') < 1);
write(new String('he' + 'llo') < 10);
write(new String('he' + 'llo') < 10.0);
write(new String('he' + 'llo') < 10.1);
write(new String('he' + 'llo') < -1);
write(new String('he' + 'llo') < -10);
write(new String('he' + 'llo') < -10.0);
write(new String('he' + 'llo') < -10.1);
write(new String('he' + 'llo') < Number.MAX_VALUE);
write(new String('he' + 'llo') < Number.MIN_VALUE);
write(new String('he' + 'llo') < Number.NaN);
write(new String('he' + 'llo') < Number.POSITIVE_INFINITY);
write(new String('he' + 'llo') < Number.NEGATIVE_INFINITY);
write(new String('he' + 'llo') < new Number(NaN));
write(new String('he' + 'llo') < new Number(+0));
write(new String('he' + 'llo') < new Number(-0));
write(new String('he' + 'llo') < new Number(0));
write(new String('he' + 'llo') < new Number(0.0));
write(new String('he' + 'llo') < new Number(-0.0));
write(new String('he' + 'llo') < new Number(+0.0));
write(new String('he' + 'llo') < new Number(1));
write(new String('he' + 'llo') < new Number(10));
write(new String('he' + 'llo') < new Number(10.0));
write(new String('he' + 'llo') < new Number(10.1));
write(new String('he' + 'llo') < new Number(-1));
write(new String('he' + 'llo') < new Number(-10));
write(new String('he' + 'llo') < new Number(-10.0));
write(new String('he' + 'llo') < new Number(-10.1));
write(new String('he' + 'llo') < new Number(Number.MAX_VALUE));
write(new String('he' + 'llo') < new Number(Number.MIN_VALUE));
write(new String('he' + 'llo') < new Number(Number.NaN));
write(new String('he' + 'llo') < new Number(Number.POSITIVE_INFINITY));
write(new String('he' + 'llo') < new Number(Number.NEGATIVE_INFINITY));
write(new String('he' + 'llo') < '');
write(new String('he' + 'llo') < 0xa);
write(new String('he' + 'llo') < 04);
write(new String('he' + 'llo') < 'hello');
write(new String('he' + 'llo') < 'hel' + 'lo');
write(new String('he' + 'llo') < String(''));
write(new String('he' + 'llo') < String('hello'));
write(new String('he' + 'llo') < String('h' + 'ello'));
write(new String('he' + 'llo') < new String(''));
write(new String('he' + 'llo') < new String('hello'));
write(new String('he' + 'llo') < new String('he' + 'llo'));
